A Formal Framework for Synthesis and Verification of Logic Programs
نویسندگان
چکیده
In this paper we will present a formal framework, based on the notion of extraction calculus, which has been successfully applied to define procedures for extracting information from constructive proofs. Here we will apply such a mechanism to give a proof-theoretic account of SLD-derivations. We show how proofs of suitable constructive systems can be used in the context of deductive synthesis of logic programs, and we state a link between constructive and deductive program synthesis.
منابع مشابه
A short introduction to two approaches in formal verification of security protocols: model checking and theorem proving
In this paper, we shortly review two formal approaches in verification of security protocols; model checking and theorem proving. Model checking is based on studying the behavior of protocols via generating all different behaviors of a protocol and checking whether the desired goals are satisfied in all instances or not. We investigate Scyther operational semantics as n example of this...
متن کاملControl Interpreted Petri Nets – Model Checking and Synthesis
The chapter presents a novel approach to formal verification of logic controller programs [2], focusing especially on reconfigurable logic controllers (RLCs). Control Interpreted Petri Nets [8] are used as formal specification of logic controller behavior. The approach proposes to use an abstract rule-based logical model presented at RTL-level. A Control Interpreted Petri Net is written as a lo...
متن کاملLearning Invariants for Incomplete Heap Verification Engines
Existing learning algorithms for synthesizing invariants for program verification work using concrete counterexamples returned by a verification engine. However, when the verification engine implements incomplete procedures for undecidable logics (such as a rich separation logic), it cannot give concrete counterexamples that a learner can use. We present a new learning framework to synthesize c...
متن کاملA Resource-Based Logic for Termination and Non-Termination Proofs (Technical Report)
We propose a unified logical framework for specifying and proving both termination and non-termination of various programs. Our framework is based on a resource logic which captures both upper and lower bounds on resources used by the programs. By an abstraction, we evolve this resource logic for execution length into a temporal logic with three predicates to reason about termination, non-termi...
متن کاملA Resource-Based Logic for Termination and Non-termination Proofs
We propose a unified logical framework for specifying and proving both termination and non-termination of various programs. Our framework is based on a resource logic which captures both upper and lower bounds on resources used by the programs. By an abstraction, we evolve this resource logic for execution length into a temporal logic with three predicates to reason about termination, non-termi...
متن کامل